home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xml / XDRFlavor.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  4.4 KB  |  90 lines

  1. package com.extensibility.xml;
  2.  
  3. import com.extensibility.util.Debug;
  4. import com.extensibility.xml.dt.DataType;
  5. import com.extensibility.xml.dt.Facet;
  6. import java.io.IOException;
  7. import java.io.Writer;
  8.  
  9. class XDRFlavor extends BaseFlavor {
  10.    static String NAME = "xdr";
  11.  
  12.    XDRFlavor(SchemaIntf var1) {
  13.       super(var1);
  14.    }
  15.  
  16.    public String getFlavorName() {
  17.       return NAME;
  18.    }
  19.  
  20.    public void parse(URI var1, URI var2, int var3, Object var4) throws IOException {
  21.       (new XDRReader(super.schema)).parse(var1);
  22.       NamespaceDeclaration var5 = super.schema.getNamedNamespace("exv");
  23.       if (var5 != null) {
  24.          super.schema.removeDeclaration(var5);
  25.       }
  26.  
  27.       var5 = super.schema.getNamedNamespace("xa");
  28.       if (var5 != null) {
  29.          super.schema.removeDeclaration(var5);
  30.       }
  31.  
  32.    }
  33.  
  34.    public void write(Writer var1) throws IOException {
  35.       this.write(var1, super.schema.getURI());
  36.    }
  37.  
  38.    public void write(Writer var1, URI var2) throws IOException {
  39.       Debug.assert(var2.equals(super.schema.getURI()), "XDR/BIZ doesn't support modules");
  40.       SchemaUtilities.getWriter(super.schema, this.getFlavorName()).writeDocument(var1);
  41.    }
  42.  
  43.    public String getSourcePreview(BaseDeclaration var1) {
  44.       return (new XDRWriter(super.schema)).getSourcePreview(var1);
  45.    }
  46.  
  47.    public BaseExemplar createExemplar(SchemaIntf var1) {
  48.       return new XDRExemplar(var1);
  49.    }
  50.  
  51.    public URI getSchemaLoc(NamespaceDeclaration var1) {
  52.       String var2 = var1.getNamespace();
  53.       return var2 != null && var2.startsWith("x-schema:") ? new URI(var2.substring(9)) : null;
  54.    }
  55.  
  56.    public boolean isSupported(Class var1) {
  57.       return !var1.equals(Class.forName("com.extensibility.xml.GeneralEntityDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.InternalGEDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.ExternalGEDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.ParameterEntityDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.InternalPEDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.ExternalPEDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.ExternalSubset")) && !var1.equals(Class.forName("com.extensibility.xml.NotationDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.DataTypeDeclaration"));
  58.    }
  59.  
  60.    public void checkForErrors(BaseDeclaration var1) {
  61.       super.checkForErrors(var1);
  62.       if (var1 != null) {
  63.          if (var1 instanceof ElementDeclaration) {
  64.             DataType var2 = ((ElementDeclaration)var1).getDataType();
  65.             if (var2 != null && var2.isEnumeration()) {
  66.                var1.addError(new ParserException(263, var1.getName()));
  67.             }
  68.          }
  69.  
  70.          if (var1 instanceof AttributeDeclaration) {
  71.             DataType var3 = ((AttributeDeclaration)var1).getDataType();
  72.             if (var3 != null && var3.hasFacet(Facet.FACET_ENUM_NAME) && !var3.isEnumeration() && !var3.isNotation()) {
  73.                var1.addError(new ParserException(232, ((AttributeDeclaration)var1).getChoicesSource((String)null)));
  74.             }
  75.          }
  76.       }
  77.  
  78.    }
  79.  
  80.    public boolean isSupported(String var1) {
  81.       if (var1.equals("GESTALT_OPEN_CONTENT")) {
  82.          return true;
  83.       } else if (var1.equals("GESTALT_GLOBAL_ATTRS")) {
  84.          return true;
  85.       } else {
  86.          return var1.equals("GESTALT_NMTOKEN_ENUM_REQUIRED") ? true : super.isSupported(var1);
  87.       }
  88.    }
  89. }
  90.